package com.aoxin.service.inter.opm;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

import com.aoxin.model.dto.UserAndChildrenDto;
import com.aoxin.model.opm.SlfUser;

/**
 * 后台用户登录注册实现接口
 */
public interface UserService {

	/**
	 * 批量删除用户ID
	 * 
	 * @param userIds
	 *            用户ID集合
	 */
	void deleteUserByIds(List<Integer> userIds);

	/**
	 * 添加用户信息
	 * 
	 * @param record
	 *            用户
	 */
	SlfUser insertUser(UserAndChildrenDto record) throws IllegalAccessException,ParseException;

	/**
	 * 查询用户信息
	 * 
	 * @param userId
	 *            用户ID
	 * @return
	 */
	SlfUser getUser(Integer userId);

	/**
	 * 修改用户信息
	 * 
	 * @param record
	 */
	void updateUser(SlfUser record);

	/**
	 * 查询人员
	 * 
	 * @param slfUser
	 *            条件集合
	 * @return 人员集合
	 */
	List<SlfUser> getUserList(SlfUser slfUser);

	/**
	 * 批量修改用户状态
	 * 
	 * @param userIds
	 *            用户ID
	 * @param state
	 *            状态
	 */
	void updateStates(List<Integer> userIds, Integer state);

	/**
	 * 登录接口
	 * 
	 * @param loginName
	 *            登录名
	 * @param password
	 *            密码
	 * @return 人员信息
	 */
	SlfUser getByLoginNameAndPassword(String loginName, String password);


	/**
	 * 修改用户基本信息
	 * @param slfUser
	 * @return
	 */
	Integer updateUserInfo(SlfUser slfUser) throws IllegalAccessException;


	/**
	 * 充值立方币
	 * @param lfb
	 * @return
	 */
	Integer rechargeLfb(Double lfb,Integer user_id);

	/**
	 * 推广查询用户
	 * @param phone
	 * @return
	 */
	SlfUser getExtenSionUser(String phone);
	/**
	 * 添加用户立方币（管理员功能）
	 * @param slfUser
	 * @return
	 */
	 void updateUserLfb(SlfUser slfUser);
	
}
